// const express = require('express');
// const bodyParser = require('body-parser');
// const mysql = require('mysql');

// const app = express();
// app.use(bodyParser.json());

// // 创建数据库连接
// const connection = mysql.createConnection({
//   host: 'localhost',
//   user: 'root',
//   password: '123456',
//   database: 'user_node_login',
// });

// // host：数据库主机地址
// // user：数据库用户名
// // password：数据库密码
// // database：数据库名称
// // 连接到数据库
// connection.connect((err) => {
//   if (err) {
//     console.error('Failed to connect to the database:', err);
//     return;
//   }
//   console.log('Connected to the database');
// });

// // 处理登录请求
// app.post('/login', (req, res) => {
//   const { username, password } = req.body;

//   // 查询用户信息
//   const query = 'SELECT * FROM user WHERE username = ?';
//   const values = [username];

//   connection.query(query, values, (err, results) => {
//     if (err) {
//       console.error('Failed to execute query:', err);
//       res.status(500).send('Internal server error');
//       return;
//     }

//     if (results.length === 0) {
//       // 用户不存在
//       res.status(401).send('Invalid username or password');
//       return;
//     }

//     const user = results[0];
//     if (user.password !== password) {
//       // 密码错误
//       res.status(401).send('Invalid username or password');
//       return;
//     }

//     // 登录成功
//     res.send({ success: true });
//   });
// });

// // 启动服务器
// const server = app.listen(3000, () => {
//     const host = server.address().address;
//     const port = server.address().port;
//     console.log('Server started at http://%s:%s', host, port);
//   });



const express = require('express');
const bodyParser = require('body-parser');
const mysql = require('mysql');

const app = express();
app.use(bodyParser.json());

// 创建数据库连接
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '123456',
  database: 'user_node_login',
});

// 连接到数据库
connection.connect((err) => {
  if (err) {
    console.error('Failed to connect to the database:', err);
    return;
  }
  console.log('Connected to the database');
});

// 设置跨域访问
app.all('*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
  res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  if(req.method == "OPTIONS") {
    res.sendStatus(200);/*让options请求快速返回*/
  } else {
    next();
  }
});

// 处理登录请求
app.post('/login', (req, res) => {
  const { username, password } = req.body;

  // 查询用户信息
  const query = 'SELECT * FROM user WHERE username = ?';
  const values = [username];

  connection.query(query, values, (err, results) => {
    if (err) {
      console.error('Failed to execute query:', err);
      res.status(500).send('Internal server error');
      return;
    }

    if (results.length === 0) {
      // 用户不存在
      res.status(401).send('Invalid username or password');
      return;
    }

    const user = results[0];
    if (user.password !== password) {
      // 密码错误
      res.status(401).send('Invalid username or password');
      return;
    }

    // 登录成功
    res.send({ success: true });
  });
});

// 启动服务器
const server = app.listen(3000, () => {
  const host = server.address().address;
  const port = server.address().port;
  console.log('Server started at http://%s:%s', host, port);
});
